package com.switz.agendacita.services.iface;

import java.util.List;

import com.switz.agendacita.dto.Empresa;
import com.switz.agendacita.dto.EmpresaPersonal;
import com.switz.agendacita.dto.EmpresaServicio;
import com.switz.agendacita.dto.Usuario;
import com.switz.agendacita.vo.Login;
import com.switz.agendacita.vo.ReservacionSeleccionada;

public interface EmpresaService {
	
    public List listarServiciosPorEmpresa(String idEmpresa);

    public void registrarEmpresa(Empresa empresa);

    public void actualizarEmpresa(Empresa empresa);

    public List listarEmpresas();

    public List listarTiposEmpresas();

    public List listarTiposPorEmpresa(String idEmpresa);

    public List listarCatalogoServiciosPorEmpresa(String[] tipoEmpresa);

    public List listarReservacionesPendientesPorEmpresa(String idEmpresa);

    public ReservacionSeleccionada obtenerDatosReservacionSeleccionada(String idReservacion);

    public Empresa obtenerEmpresa(String mail, String psw);

    public Usuario obtenerUsuario(String mail, String psw, int tipoUsuario);

    public Login getLogin(String mail, String psw);

    public void agregarEmpresaPersonal(EmpresaPersonal empresaPersonal);

    public List listarCatalogoSugerenciasServiciosPorEmpresa(String idEmpresa);

    public void eliminarEmpresaServicioTXT(String idEmpresa, String idServicio);
   
    public void registrarEmpresaServicio(EmpresaServicio empresaServicio);

    public Empresa obtenerEmpresaPorMail(String mail);

    public List listarPersonalPorEmpresa(String idEmpresa);

    public boolean actualizarPsw(String idEmpresa, String psw, String pswNuevo);
    
    public EmpresaServicio obtenerCostoTiempoDelServicio(String idEmpresa, String idServicio);
    
    public void actualizarCostoTiempoDelServicio(String idEmpresa, String idServicio, Float costo, Integer tiempo);
    public void actualizarStatusEmpresa(String id);
     public Empresa obtenerEmpresa(String id);
}
